const fontUtils = {
  // 获取字符串总长度[半角算0.5]
  getStringLength: (content) => {
    if (!content) return 0
    const regExALL = /[^\x00-\xff]/g
    const regExHalf = /[\x00-\xff]/g
    // 全角
    const allAngle = content.match(regExALL)
    // 半角
    const halfAngle = content.match(regExHalf)
    // 总长度
    return Math.ceil(((halfAngle ? halfAngle.length : 0) * 0.5) + (allAngle ? allAngle.length : 0))
  },
  // 单行最大字数（totalSize：不带换行符的总字数）
  getMaxWordsPerLine: (totalSize) => {
    return Math.ceil(Math.sqrt(2 * totalSize))
  },
  // 计算总行数（totalSize:总字数，maxWordsPerLine：每行最大文字个数）
  getLineNum: (totalSize, maxWordsPerLine) => {
    // return Math.ceil(maxWordsPerLine / 2)
    return Math.ceil(totalSize / maxWordsPerLine)
  },
  // 计算字号（width：屏幕宽度，maxWordsPerLine：每行最大字数）
  getFontSize: (width, height, maxWordsPerLine) => {
    // 设置字体 为了字体更好看不超出，默认再减2
    const fontSize = Math.floor(width / maxWordsPerLine * 0.96)
    if (fontSize > height) {
      return Math.floor(height * 0.96)
    }
    return fontSize
  },
  // 计算行高(height:屏幕高度，lineNum:行数)
  getLineHeight: (height, lineNum) => {
    return Math.floor(height / lineNum)
  }
}
export default fontUtils
